<?php
	if ($this->getUsuario() != null){
		if (defined('PARAMETRO_1')){
			$filtro	=	PARAMETRO_1;
			if ($filtro != 'andamento' && $filtro != 'desenvolvimento' && $filtro != 'concluidos') {
				redireciona(array('404'));
				exit;
			}
		}
		else {
			$filtro =	'andamento';
		}
		
		$aluno	=	false;
		if ($this->getUsuario()->getTipoCadastro() == 'aluno') {
			$aluno	=	true;
			if ($filtro == 'desenvolvimento') {
				$strMensagem	=	"Você não possui permissão para visualizar cursos em desenvolvimento.";
				$_SESSION['constructore']['mensagens']['erroacesso']	=	$strMensagem;
				redireciona(array('meuscursos'));
				exit;
			}
		}
		
		if (defined('PARAMETRO_2')){
			$ordena	=	PARAMETRO_2;
		}
		else {
			$ordena =	'ordenanome';
		}
		
		if (defined('PARAMETRO_3')){
			$ordem	=	PARAMETRO_3;
			if ( $ordem != 'asc' && $ordem != 'desc' ){
				$ordem	=	'asc';
			}
		}
		else {
			$ordem =	'asc';
		}
		$ordemInversa	=	$ordem == 'asc' ? 'desc' : 'asc';
		
		$listaCursos	=	$this->getUsuario()->getCursos();
		$lista = array();
		
		if ($filtro == 'concluidos') {
			foreach($listaCursos as $idCurso => $cursoLista){
				if (comparaDatasString($cursoLista['terminoCurso'], date('Y-m-d',time())) > 0 && $cursoLista['liberado'] == 1){
					$lista[$idCurso] = $cursoLista;
				}
			}	
		}
		if ($filtro == 'andamento') {
			foreach($listaCursos as $idCurso => $cursoLista){
				if($cursoLista['liberado'] == 1 && comparaDatasString($cursoLista['inicioCurso'], date('Y-m-d', time())) >= 0 && comparaDatasString($cursoLista['terminoCurso'], date('Y-m-d', time())) <= 0){
					$lista[$idCurso] = $cursoLista;
				}
			}
		}		
		
		if ($filtro == 'desenvolvimento') {
			foreach($listaCursos as $idCurso => $cursoLista){
				foreach($cursoLista['turmas'] as $turma){
					if ($turma['funcaoUsuario'] == 'professor') {
						if ($cursoLista['liberado'] == 0 || comparaDatasString($cursoLista['inicioCurso'], date('Y-m-d', time())) < 0) {
							$lista[$idCurso] = $cursoLista;
						}
					}
				}
			}
		}
		$ordenacao 		=	array();
		$listaOrdena	=	array();
		$i 				=	0;
		
		if ($ordena == 'ordenanome') {
			foreach($lista as $idCurso => $cursoLista) {
				$listaOrdena[$i]['nomeCurso'] = strtolower($cursoLista['nome']);
				$listaOrdena[$i]['id'] = $idCurso;
				$i++;
			}
			
			foreach ($listaOrdena as $chave => $linha) {
				$ordenacao[$chave]  = $linha['nomeCurso'];
			}
			$this->getRegistro()->set('ordemNome', $ordemInversa);
			$this->getRegistro()->set('ordemInicio', 'asc');
			$this->getRegistro()->set('ordemTermino', 'asc');
		}
		else {
			if ($ordena == 'ordenainiciocurso') {
				foreach($lista as $idCurso => $cursoLista) {
					$listaOrdena[$i]['inicioCurso'] = $cursoLista['inicioCurso'];
					$listaOrdena[$i]['id'] = $idCurso;
					$i++;
				}
				
				foreach ($listaOrdena as $chave => $linha) {
					$ordenacao[$chave]  = $linha['inicioCurso'];
				}
				
				$this->getRegistro()->set('ordemNome', 'asc');
				$this->getRegistro()->set('ordemInicio', $ordemInversa);
				$this->getRegistro()->set('ordemTermino', 'asc');
			}
			else {
				if ($ordena == 'ordenaterminocurso') {
					foreach($lista as $idCurso => $cursoLista) {
						$listaOrdena[$i]['terminoCurso'] = $cursoLista['terminoCurso'];
						$listaOrdena[$i]['id'] = $idCurso;
						$i++;
					}
					
					foreach ($listaOrdena as $chave => $linha) {
						$ordenacao[$chave]  = $linha['terminoCurso'];
					}
					
					$this->getRegistro()->set('ordemNome', 'asc');
					$this->getRegistro()->set('ordemInicio', 'asc');
					$this->getRegistro()->set('ordemTermino', $ordemInversa);
				}
			}
		}
		if ($ordem == 'asc') {
			array_multisort($ordenacao, SORT_ASC, $listaOrdena);
		}
		else {
			array_multisort($ordenacao, SORT_DESC, $listaOrdena);
		}
		
		$listagem	=	array();
		for($i = 0; $i < sizeof($listaOrdena); $i++) {
			array_push($listagem, $lista[$listaOrdena[$i]['id']]);
			$listagem[$i]['idCurso']	=	$listaOrdena[$i]['id'];
		}
		
		$this->getRegistro()->set('filtro', $filtro);
		$this->getRegistro()->set('ordena', $ordena);
		$this->getRegistro()->set('listaCursos', $listagem);
		$this->exibir("meuscursos.php");
	}
	else {
		$strMensagem	=	'Você deve estar logado para acessar seus Cursos.';
		$_SESSION['constructore']['mensagens']['msgInvalida']	=	$strMensagem;
		redireciona(array('principal'));
	}
	
?>